package com.cac.demo.newCode.sorting.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 工作包分拣任务
 * </p>
 *
 * @author xz
 * @since 2024-08-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("MS_TASK_PACKAGE")
public class MsTaskPackage implements Serializable {
    /**
     * 主键
     */
    @TableField(value = "MS_TASK_PACKAGE_ID")
    private String msTaskPackageId;

    /**
     * 机型代码
     */
    @TableField(value = "PRODUCT_CODE")
    private String productCode;

    /**
     * 机型名称
     */
    @TableField(value = "PRODUCT_NAME")
    private String productName;

    /**
     * 批次
     */
    @TableField(value = "BATCH_NO")
    private String batchNo;

    /**
     * 开始批次
     */
    @TableField(value = "START_PLANE_NO")
    private String startPlaneNo;

    /**
     * 结束批次
     */
    @TableField(value = "END_PLANE_NO")
    private String endPlaneNo;

    /**
     * 专业厂
     */
    @TableField(value = "DEPART_CODE")
    private String departCode;

    /**
     * 工作包代码

     */
    @TableField(value = "PACKAGE_CODE")
    private String packageCode;

    /**
     * 工作包名称

     */
    @TableField(value = "PACKAGE_NAME")
    private String packageName;

    /**
     * 要求时间

     */
    @TableField(value = "REQUIRED_TIME")
    private Date requiredTime;

    /**
     * 配套状态 ,00 初始状态   02配套完成   04缺件状态
     06 取消状态
     */
    @TableField(value = "\"STATE\"")
    private String state;

    /**
     * 物料缺件状态，00 不缺  A A类缺件 B B类缺件   C   C类缺件

     */
    @TableField(value = "A_STATE")
    private String aState;

    /**
     * 创建人

     */
    @TableField(value = "CREATED_BY")
    private String createdBy;

    /**
     * 创建时间

     */
    @TableField(value = "CREATION_DATE")
    private Date creationDate;

    /**
     * 最后修改人

     */
    @TableField(value = "LAST_UPDATED_BY")
    private String lastUpdatedBy;

    /**
     * 最后修改时间

     */
    @TableField(value = "LAST_UPDATE_DATE")
    private LocalDateTime lastUpdateDate;

    /**
     * 最后更新IP

     */
    @TableField(value = "LAST_UPDATE_IP")
    private String lastUpdateIp;

    /**
     * 版本

     */
    @TableField(value = "VERSION")
    private String version;

    /**
     * 备注  N ：部分分拣   Y:完全分拣
     */
    @TableField(value = "REMARK")
    private String remark;

    /**
     * 操作分拣台IP地址
     */
    @TableField(value = "SORTING_TABLE_IP")
    private String sortingTableIp;

    /**
     * 分拣状态 00未分拣 01分拣中 02分拣完成
     */
    @TableField(value = "SORTING_STATUS")
    private String sortingStatus;

    /**
     * 配送时间
     */
    @TableField(value = "MADE_CENTER")
    private String madeCenter;

    /**
     * 工作包计划开工
     */
    @TableField(value = "PLAN_START_DATE")
    private Date planStartDate;

    /**
     * 工作包计划完工
     */
    @TableField(value = "PLAN_END_DATE")
    private Date planEndDate;

    /**
     * 导入组号
     */
    @TableField(value = "IMPORT_GROUP_NO")
    private String importGroupNo;

    /**
     * 配送时间
     */
    @TableField(value = "DELIVERY_TIME")
    private Date deliveryTime;

    /**
     * 配送状态(00 未配送，02 部分配送 04 配送完成)
     */
    @TableField(value = "DELIVERY_STATE")
    private String deliveryState;

    /**
     * 周计划要求时间
     */
    @TableField(value = "WEEK_TIME")
    private Date weekTime;

    /**
     * 日计划要求时间
     */
    @TableField(value = "DAILY_TIME")
    private Date dailyTime;

    /**
     * 工作包属性
     */
    @TableField(value = "WORKPACKAGE_CODE")
    private String workPackageCode;

    @TableField(exist = false)
    private List<MsTaskAo> msTaskAoList;

    }
